package com.atguigu.mybatis.v1;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;public class GPMapperProxy implements InvocationHandler {    private GPSqlSession gpSqlSession;    public GPMapperProxy(GPSqlSession gpSqlSession) {        this.gpSqlSession = gpSqlSession;    }    /**     * 这里的主要逻辑就是通过statementId拿到sql语句，然后调用执行器去执行。这些工作都是sqlsession去做的     */    @Override    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {        String mapperInterface  = method.getDeclaringClass().getName();        String methodName = method.getName();        String statementId = mapperInterface + "." + methodName;        //执行这个方法 需要定位到 具体执行的哪个方法，和方法的参数。        return gpSqlSession.selectOne(statementId,args[0]);    }}